diff --git a/examples/python/twilio/rest/flex_api/v1/credential/aws/history.py b/examples/python/twilio/rest/flex_api/v1/credential/aws/history.py index 5207f4769..dbf4a08a5 100644 --- a/examples/python/twilio/rest/flex_api/v1/credential/aws/history.py +++ b/examples/python/twilio/rest/flex_api/v1/credential/aws/history.py @@ -125,16 +125,16 @@ def fetch( :returns: The fetched HistoryInstance """ - data = values.of({}) + params = values.of({}) - data.update(serialize.prefixed_collapsible_map(add_ons_data, "AddOns")) + params.update(serialize.prefixed_collapsible_map(add_ons_data, "AddOns")) headers = values.of({}) headers["Accept"] = "application/json" payload = self._version.fetch( - method="GET", uri=self._uri, params=data, headers=headers + method="GET", uri=self._uri, params=params, headers=headers ) return HistoryInstance( @@ -154,16 +154,16 @@ async def fetch_async( :returns: The fetched HistoryInstance """ - data = values.of({}) + params = values.of({}) - data.update(serialize.prefixed_collapsible_map(add_ons_data, "AddOns")) + params.update(serialize.prefixed_collapsible_map(add_ons_data, "AddOns")) headers = values.of({}) headers["Accept"] = "application/json" payload = await self._version.fetch_async( - method="GET", uri=self._uri, params=data, headers=headers + method="GET", uri=self._uri, params=params, headers=headers ) return HistoryInstance( diff --git a/src/main/resources/twilio-python/context.handlebars b/src/main/resources/twilio-python/context.handlebars index b0f49be69..7481248ba 100644 --- a/src/main/resources/twilio-python/context.handlebars +++ b/src/main/resources/twilio-python/context.handlebars @@ -41,9 +41,15 @@ class {{apiName}}Context(InstanceContext): {{/consumes}} {{#vendorExtensions.successProduce}} headers["Accept"] = "{{{mediaType}}}" - {{/vendorExtensions.successProduce}} + {{/vendorExtensions.successProduce}}{{#if queryParams}} + params = values.of({ {{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}{{else}} + '{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/if}}{{/isQueryParam}}{{/allParams}} + }) - payload = self._version.update(method='{{vendorExtensions.x-http-method}}', uri=self._uri, data=data, headers=headers) + {{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}params.update({{vendorExtensions.x-serialize}}({{paramName}}, '{{vendorExtensions.x-prefixed-collapsible-map}}')) + {{/if}}{{/isQueryParam}}{{/allParams}}{{/if}} + + payload = self._version.update(method='{{vendorExtensions.x-http-method}}', uri=self._uri, data=data, headers=headers{{#if queryParams}}, params=params{{/if}}) return {{instanceName}}( self._version, @@ -74,9 +80,15 @@ class {{apiName}}Context(InstanceContext): {{/consumes}} {{#vendorExtensions.successProduce}} headers["Accept"] = "{{{mediaType}}}" - {{/vendorExtensions.successProduce}} + {{/vendorExtensions.successProduce}}{{#if queryParams}} + params = values.of({ {{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}{{else}} + '{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/if}}{{/isQueryParam}}{{/allParams}} + }) + + {{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}params.update({{vendorExtensions.x-serialize}}({{paramName}}, '{{vendorExtensions.x-prefixed-collapsible-map}}')) + {{/if}}{{/isQueryParam}}{{/allParams}}{{/if}} - payload = await self._version.update_async(method='{{vendorExtensions.x-http-method}}', uri=self._uri, data=data, headers=headers) + payload = await self._version.update_async(method='{{vendorExtensions.x-http-method}}', uri=self._uri, data=data, headers=headers{{#if queryParams}}, params=params{{/if}}) return {{instanceName}}( self._version, @@ -92,22 +104,27 @@ class {{apiName}}Context(InstanceContext): :returns: The fetched {{instanceName}} """ - {{#if allParams}} - data = values.of({ {{#allParams}}{{#if vendorExtensions.x-prefixed-collapsible-map}}{{else}} - '{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/if}}{{/allParams}} + {{#if queryParams}} + params = values.of({ {{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}{{else}} + '{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/if}}{{/isQueryParam}}{{/allParams}} }) - {{#allParams}}{{#if vendorExtensions.x-prefixed-collapsible-map}}data.update({{vendorExtensions.x-serialize}}({{paramName}}, '{{vendorExtensions.x-prefixed-collapsible-map}}')) - {{/if}}{{/allParams}}{{/if}} + {{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}params.update({{vendorExtensions.x-serialize}}({{paramName}}, '{{vendorExtensions.x-prefixed-collapsible-map}}')) + {{/if}}{{/isQueryParam}}{{/allParams}}{{/if}} headers = values.of({}) + {{#allParams}}{{#isHeaderParam}} + {{^if required}} + if not ({{paramName}} is values.unset or (isinstance({{paramName}}, str) and not {{paramName}})):{{/if}} + headers['{{{baseName}}}'] = {{paramName}} + {{/isHeaderParam}}{{/allParams}} {{#consumes}} headers["Content-Type"] = "{{{mediaType}}}" {{/consumes}} {{#vendorExtensions.successProduce}} headers["Accept"] = "{{{mediaType}}}" {{/vendorExtensions.successProduce}} - payload = self._version.fetch(method='{{vendorExtensions.x-http-method}}', uri=self._uri {{#if allParams}}, params=data{{/if}} , headers=headers) + payload = self._version.fetch(method='{{vendorExtensions.x-http-method}}', uri=self._uri {{#if queryParams}}, params=params{{/if}} , headers=headers) return {{instanceName}}( self._version, @@ -124,22 +141,27 @@ class {{apiName}}Context(InstanceContext): :returns: The fetched {{instanceName}} """ - {{#if allParams}} - data = values.of({ {{#allParams}}{{#if vendorExtensions.x-prefixed-collapsible-map}}{{else}} - '{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/if}}{{/allParams}} + {{#if queryParams}} + params = values.of({ {{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}{{else}} + '{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/if}}{{/isQueryParam}}{{/allParams}} }) - {{#allParams}}{{#if vendorExtensions.x-prefixed-collapsible-map}}data.update({{vendorExtensions.x-serialize}}({{paramName}}, '{{vendorExtensions.x-prefixed-collapsible-map}}')) - {{/if}}{{/allParams}}{{/if}} + {{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}params.update({{vendorExtensions.x-serialize}}({{paramName}}, '{{vendorExtensions.x-prefixed-collapsible-map}}')) + {{/if}}{{/isQueryParam}}{{/allParams}}{{/if}} headers = values.of({}) + {{#allParams}}{{#isHeaderParam}} + {{^if required}} + if not ({{paramName}} is values.unset or (isinstance({{paramName}}, str) and not {{paramName}})):{{/if}} + headers['{{{baseName}}}'] = {{paramName}} + {{/isHeaderParam}}{{/allParams}} {{#consumes}} headers["Content-Type"] = "{{{mediaType}}}" {{/consumes}} {{#vendorExtensions.successProduce}} headers["Accept"] = "{{{mediaType}}}" {{/vendorExtensions.successProduce}} - payload = await self._version.fetch_async(method='{{vendorExtensions.x-http-method}}', uri=self._uri {{#if allParams}}, params=data{{/if}}, headers=headers) + payload = await self._version.fetch_async(method='{{vendorExtensions.x-http-method}}', uri=self._uri {{#if queryParams}}, params=params{{/if}}, headers=headers) return {{instanceName}}( self._version, @@ -155,11 +177,11 @@ class {{apiName}}Context(InstanceContext): {{#allParams}}:param {{paramName}}: {{{description}}} {{/allParams}} :returns: True if delete succeeds, False otherwise - """{{#if allParams}} - headers = values.of({{#allParams}}{'{{{baseName}}}': {{paramName}}, }{{/allParams}}) + """{{#if headerParams}} + headers = values.of({{#allParams}}{{#isHeaderParam}}{'{{{baseName}}}': {{paramName}}, }{{/isHeaderParam}}{{/allParams}}) {{/if}} - {{^if allParams}} + {{^if headerParams}} headers = values.of({}) {{/if}} {{#consumes}} @@ -167,8 +189,14 @@ class {{apiName}}Context(InstanceContext): {{/consumes}} {{#vendorExtensions.successProduce}} headers["Accept"] = "{{{mediaType}}}" - {{/vendorExtensions.successProduce}} - return self._version.delete(method='{{vendorExtensions.x-http-method}}', uri=self._uri, headers=headers) + {{/vendorExtensions.successProduce}}{{#if queryParams}} + params = values.of({ {{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}{{else}} + '{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/if}}{{/isQueryParam}}{{/allParams}} + }) + + {{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}params.update({{vendorExtensions.x-serialize}}({{paramName}}, '{{vendorExtensions.x-prefixed-collapsible-map}}')) + {{/if}}{{/isQueryParam}}{{/allParams}}{{/if}} + return self._version.delete(method='{{vendorExtensions.x-http-method}}', uri=self._uri, headers=headers{{#if queryParams}}, params=params{{/if}}) async def {{vendorExtensions.x-name-lower}}_async(self{{#allParams}}, {{paramName}}: {{#if required}}{{{dataType}}}{{else}}Union[{{{dataType}}}, object]=values.unset{{/if}}{{/allParams}}) -> bool: """ @@ -177,10 +205,10 @@ class {{apiName}}Context(InstanceContext): {{#allParams}}:param {{paramName}}: {{{description}}} {{/allParams}} :returns: True if delete succeeds, False otherwise - """{{#if allParams}} - headers = values.of({{#allParams}}{'{{{baseName}}}': {{paramName}}, }{{/allParams}}) + """{{#if headerParams}} + headers = values.of({{#allParams}}{{#isHeaderParam}}{'{{{baseName}}}': {{paramName}}, }{{/isHeaderParam}}{{/allParams}}) {{/if}} - {{^if allParams}} + {{^if headerParams}} headers = values.of({}) {{/if}} {{#consumes}} @@ -188,8 +216,14 @@ class {{apiName}}Context(InstanceContext): {{/consumes}} {{#vendorExtensions.successProduce}} headers["Accept"] = "{{{mediaType}}}" - {{/vendorExtensions.successProduce}} - return await self._version.delete_async(method='{{vendorExtensions.x-http-method}}', uri=self._uri, headers=headers) + {{/vendorExtensions.successProduce}}{{#if queryParams}} + params = values.of({ {{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}{{else}} + '{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/if}}{{/isQueryParam}}{{/allParams}} + }) + + {{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}params.update({{vendorExtensions.x-serialize}}({{paramName}}, '{{vendorExtensions.x-prefixed-collapsible-map}}')) + {{/if}}{{/isQueryParam}}{{/allParams}}{{/if}} + return await self._version.delete_async(method='{{vendorExtensions.x-http-method}}', uri=self._uri, headers=headers{{#if queryParams}}, params=params{{/if}}) {{/vendorExtensions.x-twilio.ignoreOperation}}{{/vendorExtensions.x-is-delete-operation}}{{#vendorExtensions.x-is-create-operation}}{{^vendorExtensions.x-twilio.ignoreOperation}} def {{vendorExtensions.x-name-lower}}(self{{#allParams}}, {{paramName}}: {{#if required}}{{{dataType}}}{{else}}Union[{{{dataType}}}, object]=values.unset{{/if}}{{/allParams}}) -> {{instanceName}}: """ @@ -199,11 +233,29 @@ class {{apiName}}Context(InstanceContext): :returns: The created {{instanceName}} """ - data = values.of({ {{#allParams}} - '{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/allParams}} + {{#bodyParam}}data = {{paramName}}.to_dict(){{/bodyParam}} + {{^bodyParam}}data = values.of({ {{#allParams}}{{#isFormParam}} + '{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/isFormParam}}{{/allParams}} + }){{/bodyParam}} + headers = values.of({}) + {{#allParams}}{{#isHeaderParam}} + {{^if required}} + if not ({{paramName}} is values.unset or (isinstance({{paramName}}, str) and not {{paramName}})):{{/if}} + headers['{{{baseName}}}'] = {{paramName}}{{/isHeaderParam}}{{/allParams}} + {{#consumes}} + headers["Content-Type"] = "{{{mediaType}}}" + {{/consumes}} + {{#vendorExtensions.successProduce}} + headers["Accept"] = "{{{mediaType}}}" + {{/vendorExtensions.successProduce}}{{#if queryParams}} + params = values.of({ {{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}{{else}} + '{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/if}}{{/isQueryParam}}{{/allParams}} }) - payload = self._version.create(method='{{vendorExtensions.x-http-method}}', uri=self._uri, data=data) + {{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}params.update({{vendorExtensions.x-serialize}}({{paramName}}, '{{vendorExtensions.x-prefixed-collapsible-map}}')) + {{/if}}{{/isQueryParam}}{{/allParams}}{{/if}} + + payload = self._version.create(method='{{vendorExtensions.x-http-method}}', uri=self._uri, data=data, headers=headers{{#if queryParams}}, params=params{{/if}}) return {{instanceName}}( self._version, @@ -219,11 +271,29 @@ class {{apiName}}Context(InstanceContext): :returns: The created {{instanceName}} """ - data = values.of({ {{#allParams}} - '{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/allParams}} + {{#bodyParam}}data = {{paramName}}.to_dict(){{/bodyParam}} + {{^bodyParam}}data = values.of({ {{#allParams}}{{#isFormParam}} + '{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/isFormParam}}{{/allParams}} + }){{/bodyParam}} + headers = values.of({}) + {{#allParams}}{{#isHeaderParam}} + {{^if required}} + if not ({{paramName}} is values.unset or (isinstance({{paramName}}, str) and not {{paramName}})):{{/if}} + headers['{{{baseName}}}'] = {{paramName}}{{/isHeaderParam}}{{/allParams}} + {{#consumes}} + headers["Content-Type"] = "{{{mediaType}}}" + {{/consumes}} + {{#vendorExtensions.successProduce}} + headers["Accept"] = "{{{mediaType}}}" + {{/vendorExtensions.successProduce}}{{#if queryParams}} + params = values.of({ {{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}{{else}} + '{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/if}}{{/isQueryParam}}{{/allParams}} }) - payload = await self._version.create_async(method='{{vendorExtensions.x-http-method}}', uri=self._uri, data=data) + {{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}params.update({{vendorExtensions.x-serialize}}({{paramName}}, '{{vendorExtensions.x-prefixed-collapsible-map}}')) + {{/if}}{{/isQueryParam}}{{/allParams}}{{/if}} + + payload = await self._version.create_async(method='{{vendorExtensions.x-http-method}}', uri=self._uri, data=data, headers=headers{{#if queryParams}}, params=params{{/if}}) return {{instanceName}}( self._version,