# This is an automatically generated code sample.
# To make this code sample work in your Oracle Cloud tenancy,
# please replace the values for any parameters whose current values do not fit
# your use case (such as resource IDs, strings containing ‘EXAMPLE’ or ‘unique_id’, and
# boolean, number, and enum parameters with values not fitting your use case).

import oci

# Create a default config using DEFAULT profile in default location
# Refer to
# https://docs.cloud.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm#SDK_and_CLI_Configuration_File
# for more info
config = oci.config.from_file()


# Initialize service client with default config file
apigateway_client = oci.apigateway.DeploymentClient(config)


# Send the request to service, some parameters are not required, see API
# doc for more info
create_deployment_response = apigateway_client.create_deployment(
    create_deployment_details=oci.apigateway.models.CreateDeploymentDetails(
        gateway_id="ocid1.test.oc1..<unique_ID>EXAMPLE-gatewayId-Value",
        compartment_id="ocid1.test.oc1..<unique_ID>EXAMPLE-compartmentId-Value",
        path_prefix="EXAMPLE-pathPrefix-Value",
        specification=oci.apigateway.models.ApiSpecification(
            request_policies=oci.apigateway.models.ApiSpecificationRequestPolicies(
                authentication=oci.apigateway.models.TokenAuthenticationPolicy(
                    type="TOKEN_AUTHENTICATION",
                    validation_policy=oci.apigateway.models.TokenAuthenticationStaticKeysValidationPolicy(
                        type="STATIC_KEYS",
                        additional_validation_policy=oci.apigateway.models.AdditionalValidationPolicy(
                            issuers=["EXAMPLE--Value"],
                            audiences=["EXAMPLE--Value"],
                            verify_claims=[
                                oci.apigateway.models.JsonWebTokenClaim(
                                    key="EXAMPLE-key-Value",
                                    values=["EXAMPLE--Value"],
                                    is_required=True)]),
                        keys=[
                            oci.apigateway.models.JsonWebKey(
                                format="JSON_WEB_KEY",
                                kid="EXAMPLE-kid-Value",
                                kty="RSA",
                                alg="EXAMPLE-alg-Value",
                                n="EXAMPLE-n-Value",
                                e="EXAMPLE-e-Value",
                                use="sig",
                                key_ops=["verify"])]),
                    is_anonymous_access_allowed=True,
                    token_header="EXAMPLE-tokenHeader-Value",
                    token_query_param="EXAMPLE-tokenQueryParam-Value",
                    token_auth_scheme="EXAMPLE-tokenAuthScheme-Value",
                    max_clock_skew_in_seconds=99.744,
                    validation_failure_policy=oci.apigateway.models.OAuth2ResponseValidationFailurePolicy(
                        type="OAUTH2",
                        client_details=oci.apigateway.models.CustomClientAppDetails(
                            type="CUSTOM",
                            client_id="ocid1.test.oc1..<unique_ID>EXAMPLE-clientId-Value",
                            client_secret_id="ocid1.test.oc1..<unique_ID>EXAMPLE-clientSecretId-Value",
                            client_secret_version_number=385),
                        source_uri_details=oci.apigateway.models.ValidationBlockSourceUriDetails(
                            type="VALIDATION_BLOCK"),
                        scopes=["EXAMPLE--Value"],
                        response_type="CODE",
                        max_expiry_duration_in_hours=20,
                        use_cookies_for_session=False,
                        use_cookies_for_intermediate_steps=True,
                        use_pkce=False,
                        fallback_redirect_path="EXAMPLE-fallbackRedirectPath-Value",
                        logout_path="EXAMPLE-logoutPath-Value")),
                rate_limiting=oci.apigateway.models.RateLimitingPolicy(
                    rate_in_requests_per_second=469,
                    rate_key="CLIENT_IP"),
                cors=oci.apigateway.models.CorsPolicy(
                    allowed_origins=["EXAMPLE--Value"],
                    allowed_methods=["EXAMPLE--Value"],
                    allowed_headers=["EXAMPLE--Value"],
                    exposed_headers=["EXAMPLE--Value"],
                    is_allow_credentials_enabled=False,
                    max_age_in_seconds=727),
                mutual_tls=oci.apigateway.models.MutualTlsDetails(
                    is_verified_certificate_required=False,
                    allowed_sans=["EXAMPLE--Value"]),
                usage_plans=oci.apigateway.models.UsagePlansPolicy(
                    token_locations=["EXAMPLE--Value"]),
                dynamic_authentication=oci.apigateway.models.DynamicAuthenticationPolicy(
                    selection_source=oci.apigateway.models.SingleSelectionSourcePolicy(
                        type="SINGLE",
                        selector="EXAMPLE-selector-Value"),
                    authentication_servers=[
                        oci.apigateway.models.AuthenticationServerPolicy(
                            key=oci.apigateway.models.AnyOfSelectionKey(
                                type="ANY_OF",
                                name="EXAMPLE-name-Value",
                                is_default=False,
                                values=["EXAMPLE--Value"]),
                            authentication_server_detail=oci.apigateway.models.CustomAuthenticationPolicy(
                                type="CUSTOM_AUTHENTICATION",
                                function_id="ocid1.test.oc1..<unique_ID>EXAMPLE-functionId-Value",
                                is_anonymous_access_allowed=True,
                                token_header="EXAMPLE-tokenHeader-Value",
                                token_query_param="EXAMPLE-tokenQueryParam-Value",
                                parameters={
                                    'EXAMPLE_KEY_ub5qs': 'EXAMPLE_VALUE_ujqndcjzkeBItT3PI5eJ'},
                                cache_key=["EXAMPLE--Value"],
                                validation_failure_policy=oci.apigateway.models.ModifyResponseValidationFailurePolicy(
                                    type="MODIFY_RESPONSE",
                                    response_code="EXAMPLE-responseCode-Value",
                                    response_message="EXAMPLE-responseMessage-Value",
                                    response_header_transformations=oci.apigateway.models.HeaderTransformationPolicy(
                                        set_headers=oci.apigateway.models.SetHeaderPolicy(
                                            items=[
                                                oci.apigateway.models.SetHeaderPolicyItem(
                                                    name="EXAMPLE-name-Value",
                                                    values=["EXAMPLE--Value"],
                                                    if_exists="SKIP")]),
                                        rename_headers=oci.apigateway.models.RenameHeaderPolicy(
                                            items=[
                                                oci.apigateway.models.RenameHeaderPolicyItem(
                                                    _from="EXAMPLE-from-Value",
                                                    to="EXAMPLE-to-Value")]),
                                        filter_headers=oci.apigateway.models.FilterHeaderPolicy(
                                            type="BLOCK",
                                            items=[
                                                oci.apigateway.models.FilterHeaderPolicyItem(
                                                    name="EXAMPLE-name-Value")])))))])),
            logging_policies=oci.apigateway.models.ApiSpecificationLoggingPolicies(
                access_log=oci.apigateway.models.AccessLogPolicy(
                    is_enabled=False),
                execution_log=oci.apigateway.models.ExecutionLogPolicy(
                    is_enabled=True,
                    log_level="INFO")),
            routes=[
                oci.apigateway.models.ApiSpecificationRoute(
                    path="EXAMPLE-path-Value",
                    backend=oci.apigateway.models.OAuth2LogoutBackend(
                        type="OAUTH2_LOGOUT_BACKEND",
                        allowed_post_logout_uris=["EXAMPLE--Value"],
                        post_logout_state="EXAMPLE-postLogoutState-Value"),
                    methods=["HEAD"],
                    request_policies=oci.apigateway.models.ApiSpecificationRouteRequestPolicies(
                        authorization=oci.apigateway.models.AnyOfRouteAuthorizationPolicy(
                            type="ANY_OF",
                            allowed_scope=["EXAMPLE--Value"]),
                        cors=oci.apigateway.models.CorsPolicy(
                            allowed_origins=["EXAMPLE--Value"],
                            allowed_methods=["EXAMPLE--Value"],
                            allowed_headers=["EXAMPLE--Value"],
                            exposed_headers=["EXAMPLE--Value"],
                            is_allow_credentials_enabled=True,
                            max_age_in_seconds=353),
                        query_parameter_validations=oci.apigateway.models.QueryParameterValidationRequestPolicy(
                            parameters=[
                                oci.apigateway.models.QueryParameterValidationItem(
                                    name="EXAMPLE-name-Value",
                                    required=True)],
                            validation_mode="ENFORCING"),
                        header_validations=oci.apigateway.models.HeaderValidationRequestPolicy(
                            headers=[
                                oci.apigateway.models.HeaderValidationItem(
                                    name="EXAMPLE-name-Value",
                                    required=True)],
                            validation_mode="ENFORCING"),
                        body_validation=oci.apigateway.models.BodyValidationRequestPolicy(
                            content={
                                'EXAMPLE_KEY_8fqNI': {
                                    'validationType': 'NONE'}},
                            required=True,
                            validation_mode="PERMISSIVE"),
                        header_transformations=oci.apigateway.models.HeaderTransformationPolicy(
                            set_headers=oci.apigateway.models.SetHeaderPolicy(
                                items=[
                                    oci.apigateway.models.SetHeaderPolicyItem(
                                        name="EXAMPLE-name-Value",
                                        values=["EXAMPLE--Value"],
                                        if_exists="OVERWRITE")]),
                            rename_headers=oci.apigateway.models.RenameHeaderPolicy(
                                items=[
                                    oci.apigateway.models.RenameHeaderPolicyItem(
                                        _from="EXAMPLE-from-Value",
                                        to="EXAMPLE-to-Value")]),
                            filter_headers=oci.apigateway.models.FilterHeaderPolicy(
                                type="BLOCK",
                                items=[
                                    oci.apigateway.models.FilterHeaderPolicyItem(
                                        name="EXAMPLE-name-Value")])),
                        query_parameter_transformations=oci.apigateway.models.QueryParameterTransformationPolicy(
                            set_query_parameters=oci.apigateway.models.SetQueryParameterPolicy(
                                items=[
                                    oci.apigateway.models.SetQueryParameterPolicyItem(
                                        name="EXAMPLE-name-Value",
                                        values=["EXAMPLE--Value"],
                                        if_exists="APPEND")]),
                            rename_query_parameters=oci.apigateway.models.RenameQueryParameterPolicy(
                                items=[
                                    oci.apigateway.models.RenameQueryParameterPolicyItem(
                                        _from="EXAMPLE-from-Value",
                                        to="EXAMPLE-to-Value")]),
                            filter_query_parameters=oci.apigateway.models.FilterQueryParameterPolicy(
                                type="BLOCK",
                                items=[
                                    oci.apigateway.models.FilterQueryParameterPolicyItem(
                                        name="EXAMPLE-name-Value")])),
                        response_cache_lookup=oci.apigateway.models.SimpleLookupPolicy(
                            type="SIMPLE_LOOKUP_POLICY",
                            is_enabled=False,
                            is_private_caching_enabled=False,
                            cache_key_additions=["EXAMPLE--Value"])),
                    response_policies=oci.apigateway.models.ApiSpecificationRouteResponsePolicies(
                        header_transformations=oci.apigateway.models.HeaderTransformationPolicy(
                            set_headers=oci.apigateway.models.SetHeaderPolicy(
                                items=[
                                    oci.apigateway.models.SetHeaderPolicyItem(
                                        name="EXAMPLE-name-Value",
                                        values=["EXAMPLE--Value"],
                                        if_exists="SKIP")]),
                            rename_headers=oci.apigateway.models.RenameHeaderPolicy(
                                items=[
                                    oci.apigateway.models.RenameHeaderPolicyItem(
                                        _from="EXAMPLE-from-Value",
                                        to="EXAMPLE-to-Value")]),
                            filter_headers=oci.apigateway.models.FilterHeaderPolicy(
                                type="ALLOW",
                                items=[
                                    oci.apigateway.models.FilterHeaderPolicyItem(
                                        name="EXAMPLE-name-Value")])),
                        response_cache_store=oci.apigateway.models.FixedTTLResponseCacheStorePolicy(
                            type="FIXED_TTL_STORE_POLICY",
                            time_to_live_in_seconds=427)),
                    logging_policies=oci.apigateway.models.ApiSpecificationLoggingPolicies(
                        access_log=oci.apigateway.models.AccessLogPolicy(
                            is_enabled=True),
                        execution_log=oci.apigateway.models.ExecutionLogPolicy(
                            is_enabled=False,
                            log_level="INFO")))]),
        display_name="EXAMPLE-displayName-Value",
        freeform_tags={
            'EXAMPLE_KEY_8GMaC': 'EXAMPLE_VALUE_NwvraO0NBKMCrOIMxAPa'},
        defined_tags={
            'EXAMPLE_KEY_fn0Pw': {
                'EXAMPLE_KEY_pHgzo': 'EXAMPLE--Value'}}),
    opc_retry_token="EXAMPLE-opcRetryToken-Value",
    opc_request_id="2CGZETSG7LDNJ9WCDQGB<unique_ID>")

# Get the data from response
print(create_deployment_response.data)

Was this article helpful?