Back to Azure Sdk For

Generated code configuration

sdk/policyinsights/Azure.ResourceManager.PolicyInsights/src/autorest.md

2019-05-16T16-5211.2 KB
Original Source

Generated code configuration

Run dotnet build /t:GenerateCode to generate code.

yaml

azure-arm: true
csharp: true
library-name: PolicyInsights
namespace: Azure.ResourceManager.PolicyInsights
require: https://github.com/Azure/azure-rest-api-specs/blob/3a2e8e6a43b350ad88d5ff7cf2202a7064e06d2c/specification/policyinsights/resource-manager/readme.md
output-folder: $(this-folder)/Generated
clear-output-folder: true
sample-gen:
  output-folder: $(this-folder)/../tests/Generated
  clear-output-folder: true
  skipped-operations:
  - PolicyEvents_ListQueryResultsForResourceGroupLevelPolicyAssignment
  - PolicyStates_ListQueryResultsForResourceGroupLevelPolicyAssignment
  - PolicyStates_SummarizeForResourceGroupLevelPolicyAssignment
  - PolicyEvents_ListQueryResultsForPolicySetDefinition
  - PolicyEvents_ListQueryResultsForPolicyDefinition
  - PolicyEvents_ListQueryResultsForSubscriptionLevelPolicyAssignment
  - PolicyStates_ListQueryResultsForPolicySetDefinition
  - PolicyStates_SummarizeForPolicySetDefinition
  - PolicyStates_ListQueryResultsForPolicyDefinition
  - PolicyStates_SummarizeForPolicyDefinition
  - PolicyStates_ListQueryResultsForSubscriptionLevelPolicyAssignment
  - PolicyStates_SummarizeForSubscriptionLevelPolicyAssignment
  - PolicyEvents_ListQueryResultsForResource
  - PolicyStates_ListQueryResultsForResource
  - PolicyStates_SummarizeForResource
  - PolicyTrackedResources_ListQueryResultsForResource
skip-csproj: true
modelerfour:
  flatten-payloads: false
use-model-reader-writer: true

request-path-to-parent:
  /providers/Microsoft.PolicyInsights/policyMetadata: /providers/Microsoft.PolicyInsights/policyMetadata/{resourceName}

override-operation-name:
  PolicyMetadata_List: GetAll
  PolicyRestrictions_CheckAtManagementGroupScope: CheckPolicyRestrictions
  PolicyRestrictions_CheckAtResourceGroupScope: CheckPolicyRestrictions
  PolicyRestrictions_CheckAtSubscriptionScope: CheckPolicyRestrictions
  PolicyEvents_ListQueryResultsForSubscription: GetPolicyEventQueryResults
  PolicyEvents_ListQueryResultsForResourceGroup: GetPolicyEventQueryResults
  PolicyEvents_ListQueryResultsForManagementGroup: GetPolicyEventQueryResults
  PolicyEvents_ListQueryResultsForResource: GetPolicyEventQueryResults
#  PolicyEvents_ListQueryResultsForPolicySetDefinition: GetPolicyEventQueryResults
#  PolicyEvents_ListQueryResultsForPolicyDefinition: GetPolicyEventQueryResults
#  PolicyEvents_ListQueryResultsForSubscriptionLevelPolicyAssignment: GetPolicyEventQueryResults
#  PolicyEvents_ListQueryResultsForResourceGroupLevelPolicyAssignment: GetPolicyEventQueryResults
  PolicyStates_ListQueryResultsForSubscription: GetPolicyStateQueryResults
  PolicyStates_ListQueryResultsForResourceGroup: GetPolicyStateQueryResults
  PolicyStates_ListQueryResultsForManagementGroup: GetPolicyStateQueryResults
  PolicyStates_ListQueryResultsForResource: GetPolicyStateQueryResults
#  PolicyStates_ListQueryResultsForPolicySetDefinition: GetPolicyStateQueryResults
#  PolicyStates_ListQueryResultsForPolicyDefinition: GetPolicyStateQueryResults
#  PolicyStates_ListQueryResultsForSubscriptionLevelPolicyAssignment: GetPolicyStateQueryResults
#  PolicyStates_ListQueryResultsForResourceGroupLevelPolicyAssignment: GetPolicyStateQueryResults
  PolicyStates_SummarizeForManagementGroup: SummarizePolicyStates
  PolicyStates_SummarizeForSubscription: SummarizePolicyStates
  PolicyStates_SummarizeForResourceGroup: SummarizePolicyStates
  PolicyStates_SummarizeForResource: SummarizePolicyStates
#  PolicyStates_SummarizeForPolicySetDefinition: SummarizePolicyStates
#  PolicyStates_SummarizeForPolicyDefinition: SummarizePolicyStates
#  PolicyStates_SummarizeForSubscriptionLevelPolicyAssignment: SummarizePolicyStates
#  PolicyStates_SummarizeForResourceGroupLevelPolicyAssignment: SummarizePolicyStates
  PolicyStates_TriggerResourceGroupEvaluation: TriggerPolicyStateEvaluation
  PolicyStates_TriggerSubscriptionEvaluation: TriggerPolicyStateEvaluation
  Remediations_ListDeploymentsAtResource: GetDeployments
  Remediations_CancelAtResource: Cancel
  PolicyTrackedResources_ListQueryResultsForSubscription: GetPolicyTrackedResourceQueryResults
  PolicyTrackedResources_ListQueryResultsForResourceGroup: GetPolicyTrackedResourceQueryResults
  PolicyTrackedResources_ListQueryResultsForManagementGroup: GetPolicyTrackedResourceQueryResults
  PolicyTrackedResources_ListQueryResultsForResource: GetPolicyTrackedResourceQueryResults

operation-positions:
  PolicyMetadata_List: collection

format-by-name-rules:
  'tenantId': 'uuid'
  'ETag': 'etag'
  'location': 'azure-location'
  '*Uri': 'Uri'
  '*Uris': 'Uri'
  'locations': 'azure-location'

acronym-mapping:
  CPU: Cpu
  CPUs: Cpus
  Os: OS
  Ip: IP
  Ips: IPs|ips
  ID: Id
  IDs: Ids
  VM: Vm
  VMs: Vms
  Vmos: VmOS
  VMScaleSet: VmScaleSet
  DNS: Dns
  VPN: Vpn
  NAT: Nat
  WAN: Wan
  Ipv4: IPv4|ipv4
  Ipv6: IPv6|ipv6
  Ipsec: IPsec|ipsec
  SSO: Sso
  URI: Uri
  Etag: ETag|etag
  Odata: OData|odata
  QueryOptions: PolicyQuerySettings|policyQuerySettings

rename-mapping:
  ComplianceState: PolicyComplianceState
  Attestation: PolicyAttestation
  Remediation: PolicyRemediation
  Attestation.properties.expiresOn: ExpireOn
  Attestation.properties.policyAssignmentId: -|arm-id
  Attestation.properties.assessmentDate: AssessOn
  Remediation.properties.policyAssignmentId: -|arm-id
  CheckRestrictionsResult: CheckPolicyRestrictionsResult
  CheckRestrictionsRequest: CheckPolicyRestrictionsContent
  CheckManagementGroupRestrictionsRequest: CheckManagementGroupPolicyRestrictionsContent
  Summary: PolicySummary
  Remediation.properties.filters: Filter
  PolicyAssignmentSummary.policyAssignmentId: -|arm-id
  PolicyAssignmentSummary.policySetDefinitionId: -|arm-id
  SummaryResults: PolicySummaryResults
  PolicyDetails.policyDefinitionId: -|arm-id
  PolicyDetails.policyAssignmentId: -|arm-id
  PolicyDetails.policySetDefinitionId: -|arm-id
  PolicyEvent.policyAssignmentId: -|arm-id
  PolicyEvent.policyDefinitionId: -|arm-id
  PolicyEvent.resourceId: -|arm-id
  PolicyEvent.policySetDefinitionId: -|arm-id
  PolicyEvent.resourceLocation: -|azure-location
  PolicyEvent.resourceType: ResourceTypeString
  PolicyEventsResourceType: PolicyEventType
  PolicyReference.policyDefinitionId: -|arm-id
  PolicyReference.policySetDefinitionId: -|arm-id
  PolicyReference.policyAssignmentId: -|arm-id
  PolicyState.resourceId: -|arm-id
  PolicyState.policyAssignmentId: -|arm-id
  PolicyState.policyDefinitionId: -|arm-id
  PolicyState.policySetDefinitionId: -|arm-id
  PolicyState.resourceLocation: -|azure-location
  PolicyState.resourceType: ResourceTypeString
  PolicyStatesResource: PolicyStateType
  PolicyStatesSummaryResourceType: PolicyStateSummaryType
  IfNotExistsEvaluationDetails.resourceId: -|arm-id
  PolicyDefinitionSummary.policyDefinitionId: -|arm-id
  PolicyTrackedResource: PolicyTrackedResourceRecord
  PolicyTrackedResource.lastUpdateUtc: LastUpdateOn
  PolicyTrackedResource.trackedResourceId: -|arm-id
  RemediationDeployment.remediatedResourceId: -|arm-id
  RemediationDeployment.deploymentId: -|arm-id
  RemediationDeployment.resourceLocation: -|azure-location
  TrackedResourceModificationDetails.deploymentId: -|arm-id
  PolicyTrackedResourcesResourceType: PolicyTrackedResourceType
  PolicyEvaluationResult.evaluationDetails: CheckRestrictionEvaluationDetails

models-to-treat-empty-string-as-null:
  - PolicyAssignmentSummary
  - PolicyDetails
  - PolicyEvent
  - PolicyReference
  - PolicyState
  - PolicyMetadataData
  - SlimPolicyMetadata

directive:
  # TODO: Autorest.csharp should combine these redundancy methods into the scope one automatically.
  - from: remediations.json
    where: $.paths
    transform: >
      delete $['/providers/{managementGroupsNamespace}/managementGroups/{managementGroupId}/providers/Microsoft.PolicyInsights/remediations'];
      delete $['/providers/{managementGroupsNamespace}/managementGroups/{managementGroupId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}'];
      delete $['/providers/{managementGroupsNamespace}/managementGroups/{managementGroupId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/listDeployments'];
      delete $['/providers/{managementGroupsNamespace}/managementGroups/{managementGroupId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/cancel'];
      delete $['/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/remediations'];
      delete $['/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}'];
      delete $['/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/listDeployments'];
      delete $['/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/cancel'];
      delete $['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations'];
      delete $['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations/{remediationName}'];
      delete $['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/listDeployments'];
      delete $['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/cancel'];
  # TODO: Autorest.csharp should combine these redundancy methods into the scope one automatically.
  - from: attestations.json
    where: $.paths
    transform: >
      delete $['/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/attestations'];
      delete $['/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/attestations/{attestationName}'];
      delete $['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/attestations'];
      delete $['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/attestations/{attestationName}'];
# resolving duplicate schemas
  - from: remediations.json
    where: $.definitions
    transform: >
      $.ErrorResponse['x-ms-client-name'] = 'RemediationErrorResponse';
      $.ErrorDefinition['x-ms-client-name'] = 'RemediationErrorDefinition';
# resolving duplicate schemas
  - from: attestations.json
    where: $.definitions
    transform: >
      $.ErrorResponse['x-ms-client-name'] = 'AttestationErrorResponse';
      $.ErrorDefinition['x-ms-client-name'] = 'AttestationErrorDefinition';
# resolving duplicate schemas
  - from: policyMetadata.json
    where: $.definitions
    transform: >
      $.ErrorResponse['x-ms-client-name'] = 'PolicyMetadataErrorResponse';
      $.ErrorDefinition['x-ms-client-name'] = 'PolicyMetadataErrorDefinition';
  - from: policyEvents.json
    where: $.parameters
    transform: >
      $.policyEventsResourceParameter['x-ms-client-name'] = 'policyEventType';
  - from: policyStates.json
    where: $.parameters
    transform: >
      $.policyStatesResourceParameter['x-ms-client-name'] = 'policyStateType';
      $.policyStatesSummaryResourceParameter['x-ms-client-name'] = 'policyStateSummaryType';
  - from: policyTrackedResources.json
    where: $.parameters
    transform: >
      $.policyTrackedResourcesResourceParameter['x-ms-client-name'] = 'policyTrackedResourceType';