{
    "interfaces": {
        "google.logging.v2.ConfigServiceV2": {
            "retry_codes": {
                "non_idempotent": [],
                "idempotent": [
                    "DEADLINE_EXCEEDED",
                    "UNAVAILABLE"
                ],
                "deadline_exceeded_internal_unavailable": [
                    "DEADLINE_EXCEEDED",
                    "INTERNAL",
                    "UNAVAILABLE"
                ]
            },
            "retry_params": {
                "default": {
                    "initial_retry_delay_millis": 100,
                    "retry_delay_multiplier": 1.3,
                    "max_retry_delay_millis": 60000,
                    "initial_rpc_timeout_millis": 60000,
                    "rpc_timeout_multiplier": 1,
                    "max_rpc_timeout_millis": 60000,
                    "total_timeout_millis": 600000
                }
            },
            "methods": {
                "ListBuckets": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "GetBucket": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "CreateBucketAsync": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "UpdateBucketAsync": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "CreateBucket": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "UpdateBucket": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "DeleteBucket": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "UndeleteBucket": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "ListViews": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "GetView": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "CreateView": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "UpdateView": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "DeleteView": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "ListSinks": {
                    "timeout_millis": 60000,
                    "retry_codes_name": "deadline_exceeded_internal_unavailable",
                    "retry_params_name": "default"
                },
                "GetSink": {
                    "timeout_millis": 60000,
                    "retry_codes_name": "deadline_exceeded_internal_unavailable",
                    "retry_params_name": "default"
                },
                "CreateSink": {
                    "timeout_millis": 120000,
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "UpdateSink": {
                    "timeout_millis": 60000,
                    "retry_codes_name": "deadline_exceeded_internal_unavailable",
                    "retry_params_name": "default"
                },
                "DeleteSink": {
                    "timeout_millis": 60000,
                    "retry_codes_name": "deadline_exceeded_internal_unavailable",
                    "retry_params_name": "default"
                },
                "CreateLink": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "DeleteLink": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "ListLinks": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "GetLink": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "ListExclusions": {
                    "timeout_millis": 60000,
                    "retry_codes_name": "deadline_exceeded_internal_unavailable",
                    "retry_params_name": "default"
                },
                "GetExclusion": {
                    "timeout_millis": 60000,
                    "retry_codes_name": "deadline_exceeded_internal_unavailable",
                    "retry_params_name": "default"
                },
                "CreateExclusion": {
                    "timeout_millis": 120000,
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "UpdateExclusion": {
                    "timeout_millis": 120000,
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "DeleteExclusion": {
                    "timeout_millis": 60000,
                    "retry_codes_name": "deadline_exceeded_internal_unavailable",
                    "retry_params_name": "default"
                },
                "GetCmekSettings": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "UpdateCmekSettings": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "GetSettings": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "UpdateSettings": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "CopyLogEntries": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                }
            }
        }
    }
}
