From c655f86e5c3d9a268b80a3926f11c2a46d858177 Mon Sep 17 00:00:00 2001 From: Jeffrey Cline Date: Wed, 10 Jul 2019 15:14:26 -0700 Subject: [PATCH 1/4] Current changes to frontdoor api.yaml --- specs/frontdoor/api.yaml | 66 ++++++++++++++++++---------------------- 1 file changed, 30 insertions(+), 36 deletions(-) diff --git a/specs/frontdoor/api.yaml b/specs/frontdoor/api.yaml index ac376c63..1afb1d9f 100644 --- a/specs/frontdoor/api.yaml +++ b/specs/frontdoor/api.yaml @@ -35,7 +35,7 @@ objects: python_variable_name: name '/': !ruby/object:Api::Azure::SDKTypeDefinition::ComplexObject go_variable_name: frontDoorParameters - go_type_name: + go_type_name: FrontDoor python_parameter_name: front_door_parameters python_variable_name: front_door_parameters '/location': !ruby/object:Api::Azure::SDKTypeDefinition::StringObject @@ -218,6 +218,7 @@ objects: applicable_to: [go] go_field_name: ResourceState go_enum_type_name: ResourceState + go_enum_const_prefix: PolicyResourceState '/properties/healthProbeSettings/name': !ruby/object:Api::Azure::SDKTypeDefinition::StringObject applicable_to: [go] go_field_name: Name @@ -324,6 +325,7 @@ objects: applicable_to: [go] go_field_name: ResourceState go_enum_type_name: ResourceState + go_enum_const_prefix: PolicyResourceState '/properties/backendPools/name': !ruby/object:Api::Azure::SDKTypeDefinition::StringObject applicable_to: [go] go_field_name: Name @@ -386,6 +388,7 @@ objects: applicable_to: [go] go_field_name: ResourceState go_enum_type_name: ResourceState + go_enum_const_prefix: PolicyResourceState '/properties/frontendEndpoints/name': !ruby/object:Api::Azure::SDKTypeDefinition::StringObject applicable_to: [go] go_field_name: Name @@ -402,7 +405,7 @@ objects: '/properties/backendPoolsSettings/enforceCertificateNameCheck': !ruby/object:Api::Azure::SDKTypeDefinition::EnumObject applicable_to: [go] go_field_name: EnforceCertificateNameCheck - go_enum_type_name: enforceCertificateNameCheckEnabledState + go_enum_type_name: EnforceCertificateNameCheckEnabledState '/enabledState': !ruby/object:Api::Azure::SDKTypeDefinition::EnumObject applicable_to: [python] python_field_name: enabled_state @@ -417,6 +420,7 @@ objects: applicable_to: [go] go_field_name: ResourceState go_enum_type_name: ResourceState + go_enum_const_prefix: PolicyResourceState delete: !ruby/object:Api::Azure::SDKOperationDefinition async: true go_func_name: Delete @@ -563,6 +567,7 @@ objects: applicable_to: [go] go_field_name: ResourceState go_enum_type_name: ResourceState + go_enum_const_prefix: PolicyResourceState '/properties/loadBalancingSettings/name': !ruby/object:Api::Azure::SDKTypeDefinition::StringObject applicable_to: [go] go_field_name: Name @@ -721,19 +726,19 @@ objects: '/backendPools/backends/address': !ruby/object:Api::Azure::SDKTypeDefinition::StringObject applicable_to: [python] python_field_name: address - '/backendPools/backends/httpPort': !ruby/object:Api::Azure::SDKTypeDefinition::IntegerObject + '/backendPools/backends/httpPort': !ruby/object:Api::Azure::SDKTypeDefinition::Integer32Object applicable_to: [python] python_field_name: http_port - '/backendPools/backends/httpsPort': !ruby/object:Api::Azure::SDKTypeDefinition::IntegerObject + '/backendPools/backends/httpsPort': !ruby/object:Api::Azure::SDKTypeDefinition::Integer32Object applicable_to: [python] python_field_name: https_port '/backendPools/backends/enabledState': !ruby/object:Api::Azure::SDKTypeDefinition::EnumObject applicable_to: [python] python_field_name: enabled_state - '/backendPools/backends/priority': !ruby/object:Api::Azure::SDKTypeDefinition::IntegerObject + '/backendPools/backends/priority': !ruby/object:Api::Azure::SDKTypeDefinition::Integer32Object applicable_to: [python] python_field_name: priority - '/backendPools/backends/weight': !ruby/object:Api::Azure::SDKTypeDefinition::IntegerObject + '/backendPools/backends/weight': !ruby/object:Api::Azure::SDKTypeDefinition::Integer32Object applicable_to: [python] python_field_name: weight '/backendPools/backends/backendHostHeader': !ruby/object:Api::Azure::SDKTypeDefinition::StringObject @@ -784,7 +789,7 @@ objects: '/properties/frontendEndpoints/properties/webApplicationFirewallPolicyLink': !ruby/object:Api::Azure::SDKTypeDefinition::ComplexObject applicable_to: [go] go_field_name: WebApplicationFirewallPolicyLink - go_type_name: FrontendEndpointUpdateParameters_webApplicationFirewallPolicyLink + go_type_name: FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink '/properties/frontendEndpoints/properties/webApplicationFirewallPolicyLink/id': !ruby/object:Api::Azure::SDKTypeDefinition::StringObject applicable_to: [go] go_field_name: ID @@ -822,7 +827,7 @@ objects: '/frontendEndpoints/sessionAffinityEnabledState': !ruby/object:Api::Azure::SDKTypeDefinition::EnumObject applicable_to: [python] python_field_name: session_affinity_enabled_state - '/frontendEndpoints/sessionAffinityTtlSeconds': !ruby/object:Api::Azure::SDKTypeDefinition::IntegerObject + '/frontendEndpoints/sessionAffinityTtlSeconds': !ruby/object:Api::Azure::SDKTypeDefinition::Integer32Object applicable_to: [python] python_field_name: session_affinity_ttl_seconds '/frontendEndpoints/webApplicationFirewallPolicyLink': !ruby/object:Api::Azure::SDKTypeDefinition::ComplexObject @@ -874,6 +879,7 @@ objects: applicable_to: [go] go_field_name: ResourceState go_enum_type_name: ResourceState + go_enum_const_prefix: PolicyResourceState '/resourceState': !ruby/object:Api::Azure::SDKTypeDefinition::EnumObject applicable_to: [python] python_field_name: resource_state @@ -898,7 +904,7 @@ objects: '/type': !ruby/object:Api::Azure::SDKTypeDefinition::StringObject go_field_name: Type python_field_name: type - list: !ruby/object:Api::Azure::SDKOperationDefinition + list_by_subscription: !ruby/object:Api::Azure::SDKOperationDefinition go_func_name: List python_func_name: list request: @@ -984,18 +990,13 @@ objects: azure_sdk_references: ['/routingRules/patternsToMatch', '/properties/routingRules/properties/patternsToMatch'] - !ruby/object:Api::Type::Enum name: 'enabledState' - description: 'Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'' + description: "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'" required: false values: - :Enabled - :Disabled default_value: :Enabled azure_sdk_references: ['/routingRules/enabledState', '/properties/routingRules/properties/enabledState'] - - !ruby/object:Api::Type::NestedObject - name: 'routeConfiguration' - description: 'A reference to the routing configuration.' - required: false - azure_sdk_references: ['/routingRules/routeConfiguration', '/properties/routingRules/properties/routeConfiguration'] - !ruby/object:Api::Type::Enum name: 'resourceState' description: 'Resource status.' @@ -1025,17 +1026,17 @@ objects: description: 'Resource ID.' required: false azure_sdk_references: ['/loadBalancingSettings/id', '/properties/loadBalancingSettings/id'] - - !ruby/object:Api::Azure::Type::Integer + - !ruby/object:Api::Type::Integer name: 'sampleSize' description: 'The number of samples to consider for load balancing decisions' required: false azure_sdk_references: ['/loadBalancingSettings/sampleSize', '/properties/loadBalancingSettings/properties/sampleSize'] - - !ruby/object:Api::Azure::Type::Integer + - !ruby/object:Api::Type::Integer name: 'successfulSamplesRequired' description: 'The number of samples within the sample period that must succeed' required: false azure_sdk_references: ['/loadBalancingSettings/successfulSamplesRequired', '/properties/loadBalancingSettings/properties/successfulSamplesRequired'] - - !ruby/object:Api::Azure::Type::Integer + - !ruby/object:Api::Type::Integer name: 'additionalLatencyMilliseconds' description: 'The additional latency in milliseconds for probes to fall into the lowest latency bucket' required: false @@ -1083,7 +1084,7 @@ objects: - :Https default_value: :Http azure_sdk_references: ['/healthProbeSettings/protocol', '/properties/healthProbeSettings/properties/protocol'] - - !ruby/object:Api::Azure::Type::Integer + - !ruby/object:Api::Type::Integer name: 'intervalInSeconds' description: 'The number of seconds between health probes.' required: false @@ -1106,9 +1107,10 @@ objects: description: 'Resource name.' required: false azure_sdk_references: ['/healthProbeSettings/name', '/properties/healthProbeSettings/name', '/name'] - - !ruby/object:Api::Type::NestedObject + - !ruby/object:Api::Type::Array name: 'backendPools' description: 'Backend pools available to routing rules.' + item_type: Api::Type::NestedObject required: false azure_sdk_references: ['/backendPools', '/properties/backendPools'] properties: @@ -1128,31 +1130,31 @@ objects: description: 'Location of the backend (IP address or FQDN)' required: false azure_sdk_references: ['/backendPools/backends/address', '/properties/backendPools/properties/backends/address'] - - !ruby/object:Api::Azure::Type::Integer + - !ruby/object:Api::Type::Integer name: 'httpPort' description: 'The HTTP TCP port number. Must be between 1 and 65535.' required: false azure_sdk_references: ['/backendPools/backends/httpPort', '/properties/backendPools/properties/backends/httpPort'] - - !ruby/object:Api::Azure::Type::Integer + - !ruby/object:Api::Type::Integer name: 'httpsPort' description: 'The HTTPS TCP port number. Must be between 1 and 65535.' required: false azure_sdk_references: ['/backendPools/backends/httpsPort', '/properties/backendPools/properties/backends/httpsPort'] - !ruby/object:Api::Type::Enum name: 'enabledState' - description: 'Whether to enable use of this backend. Permitted values are 'Enabled' or 'Disabled'' + description: "Whether to enable use of this backend. Permitted values are 'Enabled' or 'Disabled'" required: false values: - :Enabled - :Disabled default_value: :Enabled azure_sdk_references: ['/backendPools/backends/enabledState', '/properties/backendPools/properties/backends/enabledState'] - - !ruby/object:Api::Azure::Type::Integer + - !ruby/object:Api::Type::Integer name: 'priority' description: 'Priority to use for load balancing. Higher priorities will not be used for load balancing if any lower priority backend is healthy.' required: false azure_sdk_references: ['/backendPools/backends/priority', '/properties/backendPools/properties/backends/priority'] - - !ruby/object:Api::Azure::Type::Integer + - !ruby/object:Api::Type::Integer name: 'weight' description: 'Weight of this endpoint for load balancing purposes.' required: false @@ -1220,14 +1222,14 @@ objects: azure_sdk_references: ['/frontendEndpoints/hostName', '/properties/frontendEndpoints/properties/hostName'] - !ruby/object:Api::Type::Enum name: 'sessionAffinityEnabledState' - description: 'Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'' + description: "Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'" required: false values: - :Enabled - :Disabled default_value: :Enabled azure_sdk_references: ['/frontendEndpoints/sessionAffinityEnabledState', '/properties/frontendEndpoints/properties/sessionAffinityEnabledState'] - - !ruby/object:Api::Azure::Type::Integer + - !ruby/object:Api::Type::Integer name: 'sessionAffinityTtlSeconds' description: 'UNUSED. This field will be ignored. The TTL to use in seconds for session affinity, if applicable.' required: false @@ -1278,7 +1280,7 @@ objects: azure_sdk_references: ['/backendPoolsSettings/enforceCertificateNameCheck', '/properties/backendPoolsSettings/enforceCertificateNameCheck'] - !ruby/object:Api::Type::Enum name: 'enabledState' - description: 'Operational status of the Front Door load balancer. Permitted values are 'Enabled' or 'Disabled'' + description: "Operational status of the Front Door load balancer. Permitted values are 'Enabled' or 'Disabled'" required: false values: - :Enabled @@ -1312,18 +1314,10 @@ objects: - !ruby/object:Api::Type::String name: 'id' description: 'Resource ID.' - input: true output: true azure_sdk_references: ['/id'] - - !ruby/object:Api::Type::String - name: 'name' - description: 'Resource name.' - input: true - output: true - azure_sdk_references: ['/name'] - !ruby/object:Api::Type::String name: 'type' description: 'Resource type.' - input: true output: true azure_sdk_references: ['/type'] \ No newline at end of file From cfcb05b97b3617c2dfa6b99ee0c39ffe40170caf Mon Sep 17 00:00:00 2001 From: Jeffrey Cline Date: Wed, 10 Jul 2019 15:26:29 -0700 Subject: [PATCH 2/4] Update for frontdoor PR --- resources.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources.json b/resources.json index e58cffad..c3f52f44 100644 --- a/resources.json +++ b/resources.json @@ -1,3 +1,3 @@ [ - "batchaccount" + "frontdoor" ] From d939058c8a5ff88cab6bd608299e73df9c5cc9e0 Mon Sep 17 00:00:00 2001 From: Jeffrey Cline Date: Wed, 10 Jul 2019 17:21:56 -0700 Subject: [PATCH 3/4] Fix for frontdoor validation pipeline --- .gitignore | 1 + specs/frontdoor/api.yaml | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 50b1e566..a72c9cf4 100644 --- a/.gitignore +++ b/.gitignore @@ -52,3 +52,4 @@ build-iPhoneSimulator/ # Code generation folder by Magic Modules generated/ +rvm.sh diff --git a/specs/frontdoor/api.yaml b/specs/frontdoor/api.yaml index 1afb1d9f..42013d61 100644 --- a/specs/frontdoor/api.yaml +++ b/specs/frontdoor/api.yaml @@ -1107,10 +1107,9 @@ objects: description: 'Resource name.' required: false azure_sdk_references: ['/healthProbeSettings/name', '/properties/healthProbeSettings/name', '/name'] - - !ruby/object:Api::Type::Array + - !ruby/object:Api::Type::NestedObject name: 'backendPools' description: 'Backend pools available to routing rules.' - item_type: Api::Type::NestedObject required: false azure_sdk_references: ['/backendPools', '/properties/backendPools'] properties: From 2464722a5184c1755813fb263c8c15931e2eaa73 Mon Sep 17 00:00:00 2001 From: Junyi Yi Date: Wed, 10 Jul 2019 17:52:01 -0700 Subject: [PATCH 4/4] Reintroduce the correct array definition in api.yaml --- specs/frontdoor/ansible.yaml | 4 +- specs/frontdoor/api.yaml | 185 ++++++++++++++++++----------------- 2 files changed, 96 insertions(+), 93 deletions(-) diff --git a/specs/frontdoor/ansible.yaml b/specs/frontdoor/ansible.yaml index a4abaa98..70784e71 100644 --- a/specs/frontdoor/ansible.yaml +++ b/specs/frontdoor/ansible.yaml @@ -1,4 +1,6 @@ --- !ruby/object:Provider::Azure::Ansible::Config -overrides: !ruby/object:Provider::ResourceOverrides +author: Jeffrey Cline +version_added: '2.9' +overrides: !ruby/object:Overrides::ResourceOverrides FrontDoor: !ruby/object:Provider::Azure::Ansible::ResourceOverride examples: [] diff --git a/specs/frontdoor/api.yaml b/specs/frontdoor/api.yaml index 42013d61..20f96928 100644 --- a/specs/frontdoor/api.yaml +++ b/specs/frontdoor/api.yaml @@ -1107,102 +1107,103 @@ objects: description: 'Resource name.' required: false azure_sdk_references: ['/healthProbeSettings/name', '/properties/healthProbeSettings/name', '/name'] - - !ruby/object:Api::Type::NestedObject + - !ruby/object:Api::Type::Array name: 'backendPools' description: 'Backend pools available to routing rules.' required: false azure_sdk_references: ['/backendPools', '/properties/backendPools'] - properties: - - !ruby/object:Api::Type::String - name: 'id' - description: 'Resource ID.' - required: false - azure_sdk_references: ['/backendPools/id', '/properties/backendPools/id'] - - !ruby/object:Api::Type::NestedObject - name: 'backends' - description: 'The set of backends for this pool' - required: false - azure_sdk_references: ['/backendPools/backends', '/properties/backendPools/properties/backends'] - properties: - - !ruby/object:Api::Type::String - name: 'address' - description: 'Location of the backend (IP address or FQDN)' - required: false - azure_sdk_references: ['/backendPools/backends/address', '/properties/backendPools/properties/backends/address'] - - !ruby/object:Api::Type::Integer - name: 'httpPort' - description: 'The HTTP TCP port number. Must be between 1 and 65535.' - required: false - azure_sdk_references: ['/backendPools/backends/httpPort', '/properties/backendPools/properties/backends/httpPort'] - - !ruby/object:Api::Type::Integer - name: 'httpsPort' - description: 'The HTTPS TCP port number. Must be between 1 and 65535.' - required: false - azure_sdk_references: ['/backendPools/backends/httpsPort', '/properties/backendPools/properties/backends/httpsPort'] - - !ruby/object:Api::Type::Enum - name: 'enabledState' - description: "Whether to enable use of this backend. Permitted values are 'Enabled' or 'Disabled'" - required: false - values: - - :Enabled - - :Disabled - default_value: :Enabled - azure_sdk_references: ['/backendPools/backends/enabledState', '/properties/backendPools/properties/backends/enabledState'] - - !ruby/object:Api::Type::Integer - name: 'priority' - description: 'Priority to use for load balancing. Higher priorities will not be used for load balancing if any lower priority backend is healthy.' - required: false - azure_sdk_references: ['/backendPools/backends/priority', '/properties/backendPools/properties/backends/priority'] - - !ruby/object:Api::Type::Integer - name: 'weight' - description: 'Weight of this endpoint for load balancing purposes.' - required: false - azure_sdk_references: ['/backendPools/backends/weight', '/properties/backendPools/properties/backends/weight'] - - !ruby/object:Api::Type::String - name: 'backendHostHeader' - description: 'The value to use as the host header sent to the backend. If blank or unspecified, this defaults to the incoming host.' - required: false - azure_sdk_references: ['/backendPools/backends/backendHostHeader', '/properties/backendPools/properties/backends/backendHostHeader'] - - !ruby/object:Api::Type::NestedObject - name: 'loadBalancingSettings' - description: 'Load balancing settings for a backend pool' - required: false - azure_sdk_references: ['/backendPools/loadBalancingSettings', '/properties/backendPools/properties/loadBalancingSettings'] - properties: - - !ruby/object:Api::Type::String - name: 'id' - description: 'Resource ID.' - required: false - azure_sdk_references: ['/backendPools/loadBalancingSettings/id', '/properties/backendPools/properties/loadBalancingSettings/id'] - - !ruby/object:Api::Type::NestedObject - name: 'healthProbeSettings' - description: 'L7 health probe settings for a backend pool' - required: false - azure_sdk_references: ['/backendPools/healthProbeSettings', '/properties/backendPools/properties/healthProbeSettings'] - properties: - - !ruby/object:Api::Type::String - name: 'id' - description: 'Resource ID.' - required: false - azure_sdk_references: ['/backendPools/healthProbeSettings/id', '/properties/backendPools/properties/healthProbeSettings/id'] - - !ruby/object:Api::Type::Enum - name: 'resourceState' - description: 'Resource status.' - required: false - values: - - :Creating - - :Enabling - - :Enabled - - :Disabling - - :Disabled - - :Deleting - default_value: :Creating - azure_sdk_references: ['/backendPools/resourceState', '/properties/backendPools/properties/resourceState'] - - !ruby/object:Api::Type::String - name: 'name' - description: 'Resource name.' - required: false - azure_sdk_references: ['/backendPools/name', '/properties/backendPools/name', '/name'] + item_type: !ruby/object:Api::Type::NestedObject + properties: + - !ruby/object:Api::Type::String + name: 'id' + description: 'Resource ID.' + required: false + azure_sdk_references: ['/backendPools/id', '/properties/backendPools/id'] + - !ruby/object:Api::Type::NestedObject + name: 'backends' + description: 'The set of backends for this pool' + required: false + azure_sdk_references: ['/backendPools/backends', '/properties/backendPools/properties/backends'] + properties: + - !ruby/object:Api::Type::String + name: 'address' + description: 'Location of the backend (IP address or FQDN)' + required: false + azure_sdk_references: ['/backendPools/backends/address', '/properties/backendPools/properties/backends/address'] + - !ruby/object:Api::Type::Integer + name: 'httpPort' + description: 'The HTTP TCP port number. Must be between 1 and 65535.' + required: false + azure_sdk_references: ['/backendPools/backends/httpPort', '/properties/backendPools/properties/backends/httpPort'] + - !ruby/object:Api::Type::Integer + name: 'httpsPort' + description: 'The HTTPS TCP port number. Must be between 1 and 65535.' + required: false + azure_sdk_references: ['/backendPools/backends/httpsPort', '/properties/backendPools/properties/backends/httpsPort'] + - !ruby/object:Api::Type::Enum + name: 'enabledState' + description: "Whether to enable use of this backend. Permitted values are 'Enabled' or 'Disabled'" + required: false + values: + - :Enabled + - :Disabled + default_value: :Enabled + azure_sdk_references: ['/backendPools/backends/enabledState', '/properties/backendPools/properties/backends/enabledState'] + - !ruby/object:Api::Type::Integer + name: 'priority' + description: 'Priority to use for load balancing. Higher priorities will not be used for load balancing if any lower priority backend is healthy.' + required: false + azure_sdk_references: ['/backendPools/backends/priority', '/properties/backendPools/properties/backends/priority'] + - !ruby/object:Api::Type::Integer + name: 'weight' + description: 'Weight of this endpoint for load balancing purposes.' + required: false + azure_sdk_references: ['/backendPools/backends/weight', '/properties/backendPools/properties/backends/weight'] + - !ruby/object:Api::Type::String + name: 'backendHostHeader' + description: 'The value to use as the host header sent to the backend. If blank or unspecified, this defaults to the incoming host.' + required: false + azure_sdk_references: ['/backendPools/backends/backendHostHeader', '/properties/backendPools/properties/backends/backendHostHeader'] + - !ruby/object:Api::Type::NestedObject + name: 'loadBalancingSettings' + description: 'Load balancing settings for a backend pool' + required: false + azure_sdk_references: ['/backendPools/loadBalancingSettings', '/properties/backendPools/properties/loadBalancingSettings'] + properties: + - !ruby/object:Api::Type::String + name: 'id' + description: 'Resource ID.' + required: false + azure_sdk_references: ['/backendPools/loadBalancingSettings/id', '/properties/backendPools/properties/loadBalancingSettings/id'] + - !ruby/object:Api::Type::NestedObject + name: 'healthProbeSettings' + description: 'L7 health probe settings for a backend pool' + required: false + azure_sdk_references: ['/backendPools/healthProbeSettings', '/properties/backendPools/properties/healthProbeSettings'] + properties: + - !ruby/object:Api::Type::String + name: 'id' + description: 'Resource ID.' + required: false + azure_sdk_references: ['/backendPools/healthProbeSettings/id', '/properties/backendPools/properties/healthProbeSettings/id'] + - !ruby/object:Api::Type::Enum + name: 'resourceState' + description: 'Resource status.' + required: false + values: + - :Creating + - :Enabling + - :Enabled + - :Disabling + - :Disabled + - :Deleting + default_value: :Creating + azure_sdk_references: ['/backendPools/resourceState', '/properties/backendPools/properties/resourceState'] + - !ruby/object:Api::Type::String + name: 'name' + description: 'Resource name.' + required: false + azure_sdk_references: ['/backendPools/name', '/properties/backendPools/name', '/name'] - !ruby/object:Api::Type::NestedObject name: 'frontendEndpoints' description: 'Frontend endpoints available to routing rules.'