A.3 Neasdf_BaselineDNSPattern API

29.5563GPPEdge Application Server Discovery ServicesRelease 17Stage 3TS

openapi: 3.0.0

info:

version: ‘1.0.0’

title: ‘Neasdf_BaselineDNSPattern’

description: |

EASDF Baseline DNS Pattern Service.

© 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).

All rights reserved.

externalDocs:

description: 3GPP TS 29.556 V17.1.0; 5G System; Edge Application Server Discovery Services; Stage 3

url: ‘https://www.3gpp.org/ftp/Specs/archive/29_series/29.556/’

servers:

– url: ‘{apiRoot}/neasdf-baselinednspattern/v1’

variables:

apiRoot:

default: https://example.com

description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501.

security:

– {}

– oAuth2ClientCredentials:

– neasdf-baselinednspattern

paths:

/base-dns-patterns/{smfId}/{smfImplementationSegmentPaths}:

patch:

summary: Updates the Baseline DNS Pattern

operationId: UpdateBaseDNSPattern

tags:

– Individual Baseline DNS Pattern

parameters:

– name: smfId

in: path

description: SMF or SMF set identifier or Set Id part in SMF set identifier

required: true

schema:

$ref: ‘#/components/schemas/VarNfId’

style: simple

explode: true

– name: smfImplementationSegmentPaths

in: path

description: SMF Implementation Dependent Segment Paths

required: true

schema:

type: string

– name: Content-Encoding

in: header

description: Content-Encoding, described in IETF RFC 7231

schema:

type: string

requestBody:

content:

application/json-patch+json:

schema:

type: array

items:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/PatchItem’

required: true

responses:

‘200’:

description: Partial update of the Baseline DNS Pattern

content:

application/json:

schema:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/PatchResult’

‘204’:

description: Successful update of the Baseline DNS Pattern

headers:

Accept-Encoding:

description: Accept-Encoding, described in IETF RFC 7694

schema:

type: string

‘307’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/307’

‘308’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/308’

‘400’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/400’

‘403’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/403’

‘404’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/404’

‘411’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/411’

‘413’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/413’

‘415’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/415’

‘429’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/429’

‘500’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/500’

‘501’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/501’

‘503’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29571_CommonData.yaml#/components/responses/default’

put:

summary: Creates or Updates the Baseline DNS Pattern (complete replacement)

operationId: CreateOrReplaceBaseDnsPattern

tags:

– Individual Baseline DNS Pattern

parameters:

– name: smfId

in: path

description: SMF or SMF set identifier or Set Id part in SMF set identifier

required: true

schema:

$ref: ‘#/components/schemas/VarNfId’

style: simple

explode: true

– name: smfImplementationSegmentPaths

in: path

description: SMF Implementation Dependent Segment Paths

required: true

schema:

type: string

– name: Content-Encoding

in: header

description: Content-Encoding, described in IETF RFC 7231

schema:

type: string

requestBody:

required: true

content:

application/json:

schema:

$ref: ‘#/components/schemas/BaseDnsPatternCreateData’

responses:

‘201’:

description: successful creation of a Baseline DNS pattern

content:

application/json:

schema:

$ref: ‘#/components/schemas/BaseDnsPatternCreatedData’

headers:

Location:

description: ‘Contains the URI of the newly created resource, according to the structure: {apiRoot}/neasdf-baselinednspattern/<apiVersion>/base-dns-patterns/{smfId}/{smfImplementationSegmentPaths}’

required: true

schema:

type: string

‘204’:

description: Successful update of the Baseline DNS Pattern

headers:

Accept-Encoding:

description: Accept-Encoding, described in IETF RFC 7694

schema:

type: string

‘307’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/307’

‘308’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/308’

‘400’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/400’

‘403’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/403’

‘404’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/404’

‘411’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/411’

‘413’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/413’

‘415’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/415’

‘429’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/429’

‘500’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/500’

‘501’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/501’

‘503’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29571_CommonData.yaml#/components/responses/default’

delete:

summary: Deletes a Baseline DNS Pattern

tags:

– Individual Baseline DNS Pattern

operationId: DeleteBaseDnsPattern

parameters:

– name: smfId

in: path

description: SMF or SMF set identifier or Set Id part in SMF set identifier

required: true

schema:

$ref: ‘#/components/schemas/VarNfId’

style: simple

explode: true

– name: smfImplementationSegmentPaths

in: path

description: SMF Implementation Dependent Segment Paths

required: true

schema:

type: string

responses:

‘204’:

description: successful deletion of a Baseline DNS Pattern

‘307’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/307’

‘308’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/308’

‘400’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/400’

‘403’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/403’

‘404’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/404’

‘411’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/411’

‘413’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/413’

‘415’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/415’

‘429’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/429’

‘500’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/500’

‘503’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29571_CommonData.yaml#/components/responses/default’

components:

securitySchemes:

oAuth2ClientCredentials:

type: oauth2

flows:

clientCredentials:

tokenUrl: ‘{nrfApiRoot}/oauth2/token’

scopes:

neasdf-baselinednspattern: Access to the neasdf-baselinednspattern API

schemas:

#

# STRUCTURED DATA TYPES

#

BaseDnsPatternCreateData:

description: Data in Baseline DNS Pattern Create request

type: object

properties:

label:

type: string

baseDnsMdtList:

description: map of baseline DNS message detection templates where a valid JSON string serves as key

type: object

additionalProperties:

$ref: ‘#/components/schemas/BaselineDnsMdt’

minProperties: 1

baseDnsAitList:

description: map of Baseline DNS action information Template where a valid JSON string serves as key

type: object

additionalProperties:

$ref: ‘#/components/schemas/BaselineDnsAit’

minProperties: 1

supportedFeatures:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/SupportedFeatures’

BaseDnsPatternCreatedData:

description: Data in Baseline DNS Pattern Create response

type: object

properties:

supportedFeatures:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/SupportedFeatures’

BaselineDnsMdt:

description: Baseline DNS message detection template

type: object

properties:

mdtId:

type: string

label:

type: string

dnsQueryMdtList:

description: map of DNS query message detection templates where a valid JSON string serves as key

type: object

additionalProperties:

$ref: ‘TS29556_Neasdf_DNSContext.yaml#/components/schemas/DnsQueryMdt’

minProperties: 1

dnsRspMdtList:

description: map of DNS response message detection templates where a valid JSON string serves as key

type: object

additionalProperties:

$ref: ‘TS29556_Neasdf_DNSContext.yaml#/components/schemas/DnsRspMdt’

minProperties: 1

required:

– mdtId

not:

required: [ dnsQueryMdtList, dnsRspMdtList ]

BaselineDnsAit:

description: Baseline DNS action information Template

type: object

properties:

aitId:

type: string

label:

type: string

ecsOption:

$ref: ‘TS29556_Neasdf_DNSContext.yaml#/components/schemas/EcsOption’

dnsServerAddressList:

type: array

items:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/IpAddr’

minItems: 1

required:

– aitId

VarNfId:

description: SMF or SMF Set Id or Set Id part in NF Set Id

type: object

properties:

smfSetId:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/NfSetId’

setId:

type: string

pattern: ‘^([A-Za-z0-9\-]*[A-Za-z0-9])$’

smfInstanceId:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/NfInstanceId’

#

# SIMPLE DATA TYPES

#

#

# ENUMERATIONS

#

Annex B (informative):
Change history

Change history

Date

Meeting

TDoc

CR

Rev

Cat

Subject/Comment

New version

2021-04

CT4#103e

C4-212440

TS skeleton

0.0.0

2021-04

CT4#103e

C4-212441

C4-212442

Implementation of pCRs agreed in CT4#103E

0.1.0

2021-06

CT4#104e

C4-213092

C4-213093

C4-213094

C4-213095

C4-213096

C4-213182

C4-213184

C4-213185

C4-213429

C4-213430

C4-213479

Implementation of pCRs agreed in CT4#104E

0.2.0

2021-09

CT4#105e

C4-214676

Implementation of pCRs agreed in CT4#105E

0.3.0

2021-10

CT4#106e

C4-215049

C4-215365

C4-215366

C4-215488

C4-215489

C4-215246

C4-215429

C4-215430

C4-215431

C4-215432

C4-215433

C4-215434

Implementation of pCRs agreed in CT4#106E

0.4.0

2021-11

CT4#107e

C4-216189

C4-216551

C4-216303

C4-216304

C4-216305

C4-216306

C4-216307

Implementation of pCRs agreed in CT4#107E

0.5.0

2021-12

CT#94

CP-213156

V1.0.0 presented for information

1.0.0

2022-01

CT4#107bise

C4-220101

C4-220103

C4-220239

C4-220399

C4-220419

C4-220452

Implementation of pCRs agreed in CT4#107bisE

1.1.0

2022-03

CT4#108e

C4-221136

C4-221296

C4-221482

Implementation of pCRs agreed in CT4#108E

1.2.0

2022-03

CT#95e

CP-220105

TS send for approval

2.0.0

2022-03

CT#95e

TS approved

17.0.0

2022-06

CT#96

CP-221034

0001

2

F

Key of Map in Data Structure for Baseline DNS Pattern

17.1.0

2022-06

CT#96

CP-221034

0002

F

Reference point between SMF and EASDF

17.1.0

2022-06

CT#96

CP-221034

0003

1

B

Using FQDN Pattern Matching Rule for fqdnPatternList

17.1.0

2022-06

CT#96

CP-221034

0004

F

Reuse of type Fqdn from 29.571

17.1.0

2022-06

CT#96

CP-221034

0005

F

S-NSSAI in Create DNS context

17.1.0

2022-06

CT#96

CP-221051

0006

F

29.556 Rel-17 API version and External doc update

17.1.0

2022-12

CT#98e

CP-223045

0009

1

F

Handling of EDNS Client Subnet option by EASDF

17.2.0

2022-12

CT#98e

CP-223045

0010

F

Corrections on DnsServerAddressInfo

17.2.0