def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions]=None, api_id: Optional[pulumi.Input[str]]=None, description: Optional[pulumi.Input[str]]=None, display_name: Optional[pulumi.Input[str]]=None, method: Optional[pulumi.Input[str]]=None, operation_id: Optional[pulumi.Input[str]]=None, policies: Optional[pulumi.Input[str]]=None, request: Optional[pulumi.Input[pulumi.InputType['RequestContractArgs']]]=None, resource_group_name: Optional[pulumi.Input[str]]=None, responses: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ResponseContractArgs']]]]]=None, service_name: Optional[pulumi.Input[str]]=None, template_parameters: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ParameterContractArgs']]]]]=None, url_template: Optional[pulumi.Input[str]]=None, __props__=None, __name__=None, __opts__=None):
    "\n        Api Operation details.\n\n        :param str resource_name: The name of the resource.\n        :param pulumi.ResourceOptions opts: Options for the resource.\n        :param pulumi.Input[str] api_id: API revision identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.\n        :param pulumi.Input[str] description: Description of the operation. May include HTML formatting tags.\n        :param pulumi.Input[str] display_name: Operation Name.\n        :param pulumi.Input[str] method: A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.\n        :param pulumi.Input[str] operation_id: Operation identifier within an API. Must be unique in the current API Management service instance.\n        :param pulumi.Input[str] policies: Operation Policies\n        :param pulumi.Input[pulumi.InputType['RequestContractArgs']] request: An entity containing request details.\n        :param pulumi.Input[str] resource_group_name: The name of the resource group.\n        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ResponseContractArgs']]]] responses: Array of Operation responses.\n        :param pulumi.Input[str] service_name: The name of the API Management service.\n        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ParameterContractArgs']]]] template_parameters: Collection of URL template parameters.\n        :param pulumi.Input[str] url_template: Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}\n        "
    if (__name__ is not None):
        warnings.warn('explicit use of __name__ is deprecated', DeprecationWarning)
        resource_name = __name__
    if (__opts__ is not None):
        warnings.warn("explicit use of __opts__ is deprecated, use 'opts' instead", DeprecationWarning)
        opts = __opts__
    if (opts is None):
        opts = pulumi.ResourceOptions()
    if (not isinstance(opts, pulumi.ResourceOptions)):
        raise TypeError('Expected resource options to be a ResourceOptions instance')
    if (opts.version is None):
        opts.version = _utilities.get_version()
    if (opts.id is None):
        if (__props__ is not None):
            raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
        __props__ = dict()
        if ((api_id is None) and (not opts.urn)):
            raise TypeError("Missing required property 'api_id'")
        __props__['api_id'] = api_id
        __props__['description'] = description
        if ((display_name is None) and (not opts.urn)):
            raise TypeError("Missing required property 'display_name'")
        __props__['display_name'] = display_name
        if ((method is None) and (not opts.urn)):
            raise TypeError("Missing required property 'method'")
        __props__['method'] = method
        __props__['operation_id'] = operation_id
        __props__['policies'] = policies
        __props__['request'] = request
        if ((resource_group_name is None) and (not opts.urn)):
            raise TypeError("Missing required property 'resource_group_name'")
        __props__['resource_group_name'] = resource_group_name
        __props__['responses'] = responses
        if ((service_name is None) and (not opts.urn)):
            raise TypeError("Missing required property 'service_name'")
        __props__['service_name'] = service_name
        __props__['template_parameters'] = template_parameters
        if ((url_template is None) and (not opts.urn)):
            raise TypeError("Missing required property 'url_template'")
        __props__['url_template'] = url_template
        __props__['name'] = None
        __props__['type'] = None
    alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_='azure-nextgen:apimanagement:ApiOperation'), pulumi.Alias(type_='azure-nextgen:apimanagement/latest:ApiOperation'), pulumi.Alias(type_='azure-nextgen:apimanagement/v20160707:ApiOperation'), pulumi.Alias(type_='azure-nextgen:apimanagement/v20161010:ApiOperation'), pulumi.Alias(type_='azure-nextgen:apimanagement/v20170301:ApiOperation'), pulumi.Alias(type_='azure-nextgen:apimanagement/v20180101:ApiOperation'), pulumi.Alias(type_='azure-nextgen:apimanagement/v20180601preview:ApiOperation'), pulumi.Alias(type_='azure-nextgen:apimanagement/v20190101:ApiOperation'), pulumi.Alias(type_='azure-nextgen:apimanagement/v20191201:ApiOperation'), pulumi.Alias(type_='azure-nextgen:apimanagement/v20191201preview:ApiOperation')])
    opts = pulumi.ResourceOptions.merge(opts, alias_opts)
    super(ApiOperation, __self__).__init__('azure-nextgen:apimanagement/v20200601preview:ApiOperation', resource_name, __props__, opts)
Api Operation details.

:param str resource_name: The name of the resource.
:param pulumi.ResourceOptions opts: Options for the resource.
:param pulumi.Input[str] api_id: API revision identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.
:param pulumi.Input[str] description: Description of the operation. May include HTML formatting tags.
:param pulumi.Input[str] display_name: Operation Name.
:param pulumi.Input[str] method: A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.
:param pulumi.Input[str] operation_id: Operation identifier within an API. Must be unique in the current API Management service instance.
:param pulumi.Input[str] policies: Operation Policies
:param pulumi.Input[pulumi.InputType['RequestContractArgs']] request: An entity containing request details.
:param pulumi.Input[str] resource_group_name: The name of the resource group.
:param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ResponseContractArgs']]]] responses: Array of Operation responses.
:param pulumi.Input[str] service_name: The name of the API Management service.
:param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ParameterContractArgs']]]] template_parameters: Collection of URL template parameters.
:param pulumi.Input[str] url_template: Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}
def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions]=None, api_id: Optional[pulumi.Input[str]]=None, description: Optional[pulumi.Input[str]]=None, display_name: Optional[pulumi.Input[str]]=None, method: Optional[pulumi.Input[str]]=None, operation_id: Optional[pulumi.Input[str]]=None, policies: Optional[pulumi.Input[str]]=None, request: Optional[pulumi.Input[pulumi.InputType['RequestContractArgs']]]=None, resource_group_name: Optional[pulumi.Input[str]]=None, responses: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ResponseContractArgs']]]]]=None, service_name: Optional[pulumi.Input[str]]=None, template_parameters: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ParameterContractArgs']]]]]=None, url_template: Optional[pulumi.Input[str]]=None, __props__=None, __name__=None, __opts__=None):
    "\n        Api Operation details.\n\n        :param str resource_name: The name of the resource.\n        :param pulumi.ResourceOptions opts: Options for the resource.\n        :param pulumi.Input[str] api_id: API revision identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.\n        :param pulumi.Input[str] description: Description of the operation. May include HTML formatting tags.\n        :param pulumi.Input[str] display_name: Operation Name.\n        :param pulumi.Input[str] method: A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.\n        :param pulumi.Input[str] operation_id: Operation identifier within an API. Must be unique in the current API Management service instance.\n        :param pulumi.Input[str] policies: Operation Policies\n        :param pulumi.Input[pulumi.InputType['RequestContractArgs']] request: An entity containing request details.\n        :param pulumi.Input[str] resource_group_name: The name of the resource group.\n        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ResponseContractArgs']]]] responses: Array of Operation responses.\n        :param pulumi.Input[str] service_name: The name of the API Management service.\n        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ParameterContractArgs']]]] template_parameters: Collection of URL template parameters.\n        :param pulumi.Input[str] url_template: Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}\n        "
    if (__name__ is not None):
        warnings.warn('explicit use of __name__ is deprecated', DeprecationWarning)
        resource_name = __name__
    if (__opts__ is not None):
        warnings.warn("explicit use of __opts__ is deprecated, use 'opts' instead", DeprecationWarning)
        opts = __opts__
    if (opts is None):
        opts = pulumi.ResourceOptions()
    if (not isinstance(opts, pulumi.ResourceOptions)):
        raise TypeError('Expected resource options to be a ResourceOptions instance')
    if (opts.version is None):
        opts.version = _utilities.get_version()
    if (opts.id is None):
        if (__props__ is not None):
            raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
        __props__ = dict()
        if ((api_id is None) and (not opts.urn)):
            raise TypeError("Missing required property 'api_id'")
        __props__['api_id'] = api_id
        __props__['description'] = description
        if ((display_name is None) and (not opts.urn)):
            raise TypeError("Missing required property 'display_name'")
        __props__['display_name'] = display_name
        if ((method is None) and (not opts.urn)):
            raise TypeError("Missing required property 'method'")
        __props__['method'] = method
        __props__['operation_id'] = operation_id
        __props__['policies'] = policies
        __props__['request'] = request
        if ((resource_group_name is None) and (not opts.urn)):
            raise TypeError("Missing required property 'resource_group_name'")
        __props__['resource_group_name'] = resource_group_name
        __props__['responses'] = responses
        if ((service_name is None) and (not opts.urn)):
            raise TypeError("Missing required property 'service_name'")
        __props__['service_name'] = service_name
        __props__['template_parameters'] = template_parameters
        if ((url_template is None) and (not opts.urn)):
            raise TypeError("Missing required property 'url_template'")
        __props__['url_template'] = url_template
        __props__['name'] = None
        __props__['type'] = None
    alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_='azure-nextgen:apimanagement:ApiOperation'), pulumi.Alias(type_='azure-nextgen:apimanagement/latest:ApiOperation'), pulumi.Alias(type_='azure-nextgen:apimanagement/v20160707:ApiOperation'), pulumi.Alias(type_='azure-nextgen:apimanagement/v20161010:ApiOperation'), pulumi.Alias(type_='azure-nextgen:apimanagement/v20170301:ApiOperation'), pulumi.Alias(type_='azure-nextgen:apimanagement/v20180101:ApiOperation'), pulumi.Alias(type_='azure-nextgen:apimanagement/v20180601preview:ApiOperation'), pulumi.Alias(type_='azure-nextgen:apimanagement/v20190101:ApiOperation'), pulumi.Alias(type_='azure-nextgen:apimanagement/v20191201:ApiOperation'), pulumi.Alias(type_='azure-nextgen:apimanagement/v20191201preview:ApiOperation')])
    opts = pulumi.ResourceOptions.merge(opts, alias_opts)
    super(ApiOperation, __self__).__init__('azure-nextgen:apimanagement/v20200601preview:ApiOperation', resource_name, __props__, opts)